home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / CEGUISDK-0.4.1-VC6-Native.exe / {app} / include / elements / CEGUIMultiLineEditboxProperties.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-01-18  |  7.9 KB  |  301 lines

  1. /************************************************************************
  2.     filename:     CEGUIMultiLineEditboxProperties.h
  3.     created:    10/7/2004
  4.     author:        Paul D Turner
  5.     
  6.     purpose:    Interface to properties for the MultiLineEditbox class
  7. *************************************************************************/
  8. /*************************************************************************
  9.     Crazy Eddie's GUI System (http://www.cegui.org.uk)
  10.     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
  11.  
  12.     This library is free software; you can redistribute it and/or
  13.     modify it under the terms of the GNU Lesser General Public
  14.     License as published by the Free Software Foundation; either
  15.     version 2.1 of the License, or (at your option) any later version.
  16.  
  17.     This library is distributed in the hope that it will be useful,
  18.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20.     Lesser General Public License for more details.
  21.  
  22.     You should have received a copy of the GNU Lesser General Public
  23.     License along with this library; if not, write to the Free Software
  24.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  25. *************************************************************************/
  26. #ifndef _CEGUIMultiLineEditboxProperties_h_
  27. #define _CEGUIMultiLineEditboxProperties_h_
  28.  
  29. #include "CEGUIProperty.h"
  30.  
  31.  
  32. // Start of CEGUI namespace section
  33. namespace CEGUI
  34. {
  35.  
  36. // Start of MultiLineEditboxProperties namespace section
  37. /*!
  38. \brief
  39.     Namespace containing all classes that make up the properties interface for the MultiLineEditbox class
  40. */
  41. namespace MultiLineEditboxProperties
  42. {
  43. /*!
  44. \brief
  45.     Property to access the read-only setting of the edit box.
  46.  
  47.     \par Usage:
  48.         - Name: ReadOnly
  49.         - Format: "[text]"
  50.  
  51.     \par Where [Text] is:
  52.         - "True" to indicate the edit box is read-only.
  53.         - "False" to indicate the edit box is not read-only (text may be edited by user).
  54. */
  55. class ReadOnly : public Property
  56. {
  57. public:
  58.     ReadOnly() : Property(
  59.         "ReadOnly",
  60.         "Property to get/set the read-only setting for the edit box.  Value is either \"True\" or \"False\".",
  61.         "False")
  62.     {}
  63.  
  64.     String    get(const PropertyReceiver* receiver) const;
  65.     void    set(PropertyReceiver* receiver, const String& value);
  66. };
  67.  
  68.  
  69. /*!
  70. \brief
  71.     Property to access the word-wrap setting of the edit box.
  72.  
  73.     \par Usage:
  74.         - Name: WordWrap
  75.         - Format: "[text]"
  76.  
  77.     \par Where [Text] is:
  78.         - "True" to indicate the text should be word-wrapped.
  79.         - "False" to indicate the text should not be word-wrapped.
  80. */
  81. class WordWrap : public Property
  82. {
  83. public:
  84.     WordWrap() : Property(
  85.         "WordWrap",
  86.         "Property to get/set the word-wrap setting of the edit box.  Value is either \"True\" or \"False\".",
  87.         "True")
  88.     {}
  89.  
  90.     String    get(const PropertyReceiver* receiver) const;
  91.     void    set(PropertyReceiver* receiver, const String& value);
  92. };
  93.  
  94.  
  95. /*!
  96. \brief
  97.     Property to access the current carat index.
  98.  
  99.     \par Usage:
  100.         - Name: CaratIndex
  101.         - Format: "[uint]"
  102.  
  103.     \par Where:
  104.         - [uint] is the zero based index of the carat position within the text.
  105. */
  106. class CaratIndex : public Property
  107. {
  108. public:
  109.     CaratIndex() : Property(
  110.         "CaratIndex",
  111.         "Property to get/set the current carat index.  Value is \"[uint]\".",
  112.         "0")
  113.     {}
  114.  
  115.     String    get(const PropertyReceiver* receiver) const;
  116.     void    set(PropertyReceiver* receiver, const String& value);
  117. };
  118.  
  119.  
  120. /*!
  121. \brief
  122.     Property to access the current selection start index.
  123.  
  124.     \par Usage:
  125.         - Name: SelectionStart
  126.         - Format: "[uint]"
  127.  
  128.     \par Where:
  129.         - [uint] is the zero based index of the selection start position within the text.
  130. */
  131. class SelectionStart : public Property
  132. {
  133. public:
  134.     SelectionStart() : Property(
  135.         "SelectionStart",
  136.         "Property to get/set the zero based index of the selection start position within the text.  Value is \"[uint]\".",
  137.         "0")
  138.     {}
  139.  
  140.     String    get(const PropertyReceiver* receiver) const;
  141.     void    set(PropertyReceiver* receiver, const String& value);
  142. };
  143.  
  144.  
  145. /*!
  146. \brief
  147.     Property to access the current selection length.
  148.  
  149.     \par Usage:
  150.         - Name: SelectionLength
  151.         - Format: "[uint]"
  152.  
  153.     \par Where:
  154.         - [uint] is the length of the selection (as a count of the number of code points selected).
  155. */
  156. class SelectionLength : public Property
  157. {
  158. public:
  159.     SelectionLength() : Property(
  160.         "SelectionLength",
  161.         "Property to get/set the length of the selection (as a count of the number of code points selected).  Value is \"[uint]\".",
  162.         "0")
  163.     {}
  164.  
  165.     String    get(const PropertyReceiver* receiver) const;
  166.     void    set(PropertyReceiver* receiver, const String& value);
  167. };
  168.  
  169.  
  170. /*!
  171. \brief
  172.     Property to access the maximum text length for the edit box.
  173.  
  174.     \par Usage:
  175.         - Name: MaxTextLength
  176.         - Format: "[uint]"
  177.  
  178.     \par Where:
  179.         - [uint] is the maximum allowed text length (as a count of code points).
  180. */
  181. class MaxTextLength : public Property
  182. {
  183. public:
  184.     MaxTextLength() : Property(
  185.         "MaxTextLength",
  186.         "Property to get/set the the maximum allowed text length (as a count of code points).  Value is \"[uint]\".",
  187.         "1073741824")
  188.     {}
  189.  
  190.     String    get(const PropertyReceiver* receiver) const;
  191.     void    set(PropertyReceiver* receiver, const String& value);
  192. };
  193.  
  194.  
  195. /*!
  196. \brief
  197.     Property to access the normal, unselected, text colour used for rendering text.
  198.  
  199.     \par Usage:
  200.         - Name: NormalTextColour
  201.         - Format: "aarrggbb".
  202.  
  203.     \par Where:
  204.         - aarrggbb is the ARGB colour value to be used.
  205. */
  206. class NormalTextColour : public Property
  207. {
  208. public:
  209.     NormalTextColour() : Property(
  210.         "NormalTextColour",
  211.         "Property to get/set the normal, unselected, text colour used for rendering text.  Value is \"aarrggbb\" (hex).",
  212.         "FFFFFFFF")
  213.     {}
  214.  
  215.     String    get(const PropertyReceiver* receiver) const;
  216.     void    set(PropertyReceiver* receiver, const String& value);
  217. };
  218.  
  219.  
  220. /*!
  221. \brief
  222.     Property to access the colour used for rendering text within the selection area.
  223.  
  224.     \par Usage:
  225.         - Name: SelectedTextColour
  226.         - Format: "aarrggbb".
  227.  
  228.     \par Where:
  229.         - aarrggbb is the ARGB colour value to be used.
  230. */
  231. class SelectedTextColour : public Property
  232. {
  233. public:
  234.     SelectedTextColour() : Property(
  235.         "SelectedTextColour",
  236.         "Property to get/set the colour used for rendering text within the selection area.  Value is \"aarrggbb\" (hex).",
  237.         "FF000000")
  238.     {}
  239.  
  240.     String    get(const PropertyReceiver* receiver) const;
  241.     void    set(PropertyReceiver* receiver, const String& value);
  242. };
  243.  
  244.  
  245. /*!
  246. \brief
  247.     Property to access the colour used for rendering the selection highlight when the edit box is active.
  248.  
  249.     \par Usage:
  250.         - Name: ActiveSelectionColour
  251.         - Format: "aarrggbb".
  252.  
  253.     \par Where:
  254.         - aarrggbb is the ARGB colour value to be used.
  255. */
  256. class ActiveSelectionColour : public Property
  257. {
  258. public:
  259.     ActiveSelectionColour() : Property(
  260.         "ActiveSelectionColour",
  261.         "Property to get/set the colour used for rendering the selection highlight when the edit box is active.  Value is \"aarrggbb\" (hex).",
  262.         "FF6060FF")
  263.     {}
  264.  
  265.     String    get(const PropertyReceiver* receiver) const;
  266.     void    set(PropertyReceiver* receiver, const String& value);
  267. };
  268.  
  269.  
  270. /*!
  271. \brief
  272.     Property to access the colour used for rendering the selection highlight when the edit box is inactive.
  273.  
  274.     \par Usage:
  275.         - Name: InactiveSelectionColour
  276.         - Format: "aarrggbb".
  277.  
  278.     \par Where:
  279.         - aarrggbb is the ARGB colour value to be used.
  280. */
  281. class InactiveSelectionColour : public Property
  282. {
  283. public:
  284.     InactiveSelectionColour() : Property(
  285.         "InactiveSelectionColour",
  286.         "Property to get/set the colour used for rendering the selection highlight when the edit box is inactive.  Value is \"aarrggbb\" (hex).",
  287.         "FF808080")
  288.     {}
  289.  
  290.     String    get(const PropertyReceiver* receiver) const;
  291.     void    set(PropertyReceiver* receiver, const String& value);
  292. };
  293.  
  294.  
  295. } // End of  MultiLineEditboxProperties namespace section
  296.  
  297. } // End of  CEGUI namespace section
  298.  
  299.  
  300. #endif    // end of guard _CEGUIMultiLineEditboxProperties_h_
  301.